package com.ahora.org.ejb.jpa.entities;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;


/**
 * The persistent class for the TB_APELACION_RECONSIDERACION database table.
 * 
 */
@Entity
@Table(name="TB_APELACION_RECONSIDERACION")
public class ApelacionReconsideracion implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "SEC_ApelacionReconsideracion")
	@SequenceGenerator(name="SEC_ApelacionReconsideracion", sequenceName = "SEC_APEL_RECO")
	@Column(name="ID_APEL_RECO")
	private int idApelReco;

    @Lob()
	private byte[] cuerpoadj;

    @Lob()
	private byte[] cuerpoweb;

	@Column(name="FECHA_CREACION")
	private Timestamp fechaCreacion;

	@Column(name="FECHA_MODIFICACION")
	private Timestamp fechaModificacion;

	@ManyToOne
	@JoinColumn(name="ID_USUARIO_CRE")
	private Usuario tbUsuarioCre;

	@Column(name="NOMBRE_ARCHIVO")
	private String nombreArchivo;

	private String observacion;

	private String tipo;

	//bi-directional many-to-one association to ApeRecProceso
    @ManyToOne
	@JoinColumn(name="ID_APE_REC_PRO")
	private ApeRecProceso tbApeRecProceso;

	//bi-directional many-to-one association to DocumentoUsuario
    @ManyToOne
	@JoinColumn(name="ID_DOC_INF")
	private DocumentoUsuario tbDocumentoUsuario;

	//bi-directional many-to-one association to EstadoGenerale
    @ManyToOne
	@JoinColumn(name="ESTADO")
	private EstadoGenerales tbEstadoGenerale;

	//bi-directional many-to-one association to Expediente
    @ManyToOne
	@JoinColumn(name="ID_EXPEDIENTE")
	private Expediente tbExpediente;

	//bi-directional many-to-one association to Usuario
    @ManyToOne
	@JoinColumn(name="ID_USUARIO_MOD")
	private Usuario tbUsuario;
    
  //bi-directional many-to-one association to TbMovimientoApeRec
  	@OneToMany(mappedBy="tbApelacionReconsideracion")
  	private Set<MovimientoApeRec> tbMovimientoApeRecs;
    
    public ApelacionReconsideracion() {
    }

	public int getIdApelReco() {
		return this.idApelReco;
	}

	public void setIdApelReco(int idApelReco) {
		this.idApelReco = idApelReco;
	}

	public byte[] getCuerpoadj() {
		return this.cuerpoadj;
	}

	public void setCuerpoadj(byte[] cuerpoadj) {
		this.cuerpoadj = cuerpoadj;
	}

	public byte[] getCuerpoweb() {
		return this.cuerpoweb;
	}

	public void setCuerpoweb(byte[] cuerpoweb) {
		this.cuerpoweb = cuerpoweb;
	}

	public Timestamp getFechaCreacion() {
		return this.fechaCreacion;
	}

	public void setFechaCreacion(Timestamp fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}

	public Timestamp getFechaModificacion() {
		return this.fechaModificacion;
	}

	public void setFechaModificacion(Timestamp fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}

	public Usuario getTbUsuarioCre() {
		return tbUsuarioCre;
	}

	public void setTbUsuarioCre(Usuario tbUsuarioCre) {
		this.tbUsuarioCre = tbUsuarioCre;
	}

	public String getNombreArchivo() {
		return this.nombreArchivo;
	}

	public void setNombreArchivo(String nombreArchivo) {
		this.nombreArchivo = nombreArchivo;
	}

	public String getObservacion() {
		return this.observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}

	public String getTipo() {
		return this.tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}

	public ApeRecProceso getTbApeRecProceso() {
		return this.tbApeRecProceso;
	}

	public void setTbApeRecProceso(ApeRecProceso tbApeRecProceso) {
		this.tbApeRecProceso = tbApeRecProceso;
	}
	
	public DocumentoUsuario getTbDocumentoUsuario() {
		return this.tbDocumentoUsuario;
	}

	public void setTbDocumentoUsuario(DocumentoUsuario tbDocumentoUsuario) {
		this.tbDocumentoUsuario = tbDocumentoUsuario;
	}
	
	public EstadoGenerales getTbEstadoGenerale() {
		return this.tbEstadoGenerale;
	}

	public void setTbEstadoGenerale(EstadoGenerales tbEstadoGenerale) {
		this.tbEstadoGenerale = tbEstadoGenerale;
	}
	
	public Expediente getTbExpediente() {
		return this.tbExpediente;
	}

	public void setTbExpediente(Expediente tbExpediente) {
		this.tbExpediente = tbExpediente;
	}
	
	public Usuario getTbUsuario() {
		return this.tbUsuario;
	}

	public void setTbUsuario(Usuario tbUsuario) {
		this.tbUsuario = tbUsuario;
	}

	public Set<MovimientoApeRec> getTbMovimientoApeRecs() {
		return tbMovimientoApeRecs;
	}

	public void setTbMovimientoApeRecs(Set<MovimientoApeRec> tbMovimientoApeRecs) {
		this.tbMovimientoApeRecs = tbMovimientoApeRecs;
	}

}